﻿
namespace Isuka.Iteration
{
    /// <summary>
    /// コンテナー内の任意の値を指し示します。
    /// </summary>
    /// <typeparam name="T"></typeparam>
    public interface IRandomAccessIterator
        : IIterator
        , IBidirectionalIterator
    {
        /// <summary>
        /// コンテナー内のインデックスを返します。
        /// </summary>
        int Index { get; }
    }

    /// <summary>
    /// コンテナー内の任意の値を指し示します。
    /// </summary>
    /// <typeparam name="T"></typeparam>
    public interface IRandomAccessIterator<T>
        : IIterator<T>
        , IRandomAccessIterator
        , IBidirectionalIterator<T>
    { }
}
